﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace DigDes.DSchool.SUPS.DataAccess.Interface
{
    /// <summary>
    /// Пример класса переноса данных (модель). Отвечает к примеру за одну строку, считанную из файла
    /// </summary>
    public class FileRow : LoaderBaseDTO
    {
        /// <summary>
        /// Номер поезда
        /// </summary>
		public string CarriageNumber { get; set; }
		/// <summary>
		/// Вес груза в тоннах
		/// </summary>
		public string GoodsWeight { get; set; }
		/// <summary>
		/// Станция назначения вагона
		/// </summary>
		public string StantionOfDestination { get; set; }
		/// <summary>
		/// Код груза по тарифн. номенклатуре
		/// </summary>
		public string GoodsCod { get; set; }
		/// <summary>
		/// Код грузополучателя
		/// </summary>
		public string CodeOfReceiver { get; set; }
		/// <summary>
		/// Тип парка вагона
		/// </summary>
		public string CarriageType { get; set; }
		/// <summary>
		/// Станция начала рейса
		/// </summary>
		public string StartingStation { get; set; }
		/// <summary>
		/// Код операции
		/// </summary>
		public string OperationNumber { get; set; }
		/// <summary>
		/// Дата операции
		/// </summary>
		public string DateOfOperation { get; set; }
		/// <summary>
		/// Год операции
		/// </summary>
		public string YearsOfOperation { get; set; }
		/// <summary>
		/// Время операции
		/// </summary>
		public string OperationTimes { get; set; }
		/// <summary>
		/// Станция сверш. операции
		/// </summary>
		public string StationOper { get; set; }
		/// <summary>
		/// Дорога сдачи
		/// </summary>
		public string RoadOfPutting { get; set; }
		/// <summary>
		/// Дорога приема
		/// </summary>
		public string RoadOfGiving { get; set; }
		/// <summary>
		/// Индекс поезда
		/// </summary>
		public string TravelingIndex { get; set; }
		/// <summary>
		/// Номер поезда
		/// </summary>
		public string TrainIndex { get; set; }	

		public void set(string data) 
		{
			CarriageNumber = data.Substring(0, 8);
			GoodsWeight = data.Substring(8, 3);

			StantionOfDestination = data.Substring(11, 5);
			GoodsCod = data.Substring(16, 5);

			CodeOfReceiver = data.Substring(21, 4);
			CarriageType = data.Substring(25, 2);

			StartingStation = data.Substring(27, 5);
			OperationNumber = data.Substring(32, 2);

			DateOfOperation = data.Substring(34, 4);
			YearsOfOperation = data.Substring(38, 2);

			OperationTimes = data.Substring(40, 4);
			StationOper = data.Substring(44, 5);

			RoadOfPutting = data.Substring(49, 2);
			RoadOfGiving = data.Substring(51, 2);

			TravelingIndex = data.Substring(53, 13);
			TrainIndex = data.Substring(66, 4);
		}
    }
}